const fs = require('fs');

const userService = require("../service/user.service");
const fileService = require("../service/file.service");
const { AVATAR_PATH } = require("../constants/file-path");
class UserController {
  async create(ctx, next) {
    //获取用户请求传递的参数
    const user = ctx.request.body;
    //查询数据
    const result = await userService.create(user);
    //返回数据
    ctx.body = result;
  }

  async avatarInfo(ctx, next) {
    // 1.用户的头像是哪一个文件呢?
    const { userId } = ctx.params;
    // 根据用户查询头像信息

    const avatarInfo = await fileService.getAvatarByUserId(userId);
    // 2.提供图像信息
    ctx.response.set("content-type", avatarInfo.mimetype); //这句代码是为了让用户打开图片链接直接能看到图片，不加的话是直接下载文件
    // 3.最后通过流的方式把图片返回显示
    ctx.body = fs.createReadStream(`${AVATAR_PATH}/${avatarInfo.filename}`);
  }
}
module.exports = new UserController();
